The invention relates generally to object-oriented data processing and system management, and more particularly to obtaining abstraction layers to access one or more datastores.
In a distributed computer environment, client computer systems and server computer systems can share data and executable program code, including applications, services, and resources. In order to facilitate the sharing of these various elements, attribute-based programming allows a developer to specify the services and resources required by an application by setting properties (or xe2x80x9cattributesxe2x80x9d) of each application or component rather than implementing or calling those services directly from the implementation code. Attributes include a particular set of configuration information that is made available to various callers in an attribute-based environment.
Configuration information may be stored on the various machines in the distributed network and relates to specific properties of applications, components, services, and other resources available to that machine. In existing approaches, a system xe2x80x9cregistryxe2x80x9d has been used to store configuration data for a particular machine. However, in existing approaches, a programmer was required to access and manipulate registry information directly, introducing undesirable program complexity and exposing the registry to corruption by improper programming. Moreover, the distribution of configuration information among multiple datastores (i.e., in addition to the registry) and data formats is not accommodated by existing approaches, particularly if the location and format of data are expected to evolve over time. In current approaches, the implementation code itself must be altered in order to handle location and format changes to configuration information. Accordingly, existing approaches lack location and format independence that can provide desired flexibility for storage and access to configuration information in a computer system.
In accordance with the present invention, the above and other problems are solved by dispensing a table system based on provided input parameters, such as a database ID, a table ID, and other parameters. The table system presents a location-independent and format-independent table to the caller. The underlying implementation of the table system may consist of combinations of multiple table objects and datastores containing configuration information. A wiring table provides initial instructions about dispensing the table objects in accordance with the input parameters.
A computer program product providing a caller with access to a requested table of configuration information stored in one or more datastores is provided. A first identity parameter specifying the requested table is received from the caller. A first wiring relationship is read from a wiring database based on the first identity parameter, wherein the first wiring relationship relates the first identity parameter to a first table object dispenser. The first table object dispenser is executed to create a first table object. The requested table is presented to the caller via a table interface in the first table object.
A system for providing a caller with access to a requested table of configuration information stored in one or more datastores is provided. A first identity parameter is passed by the caller identifying the requested table. A first table object provides a table interface to the requested table. A first table object dispenser creates the first table object corresponding to the first identity parameter. A wiring database defines a first wiring relationship between the first identity parameter and the first table object dispenser. A table dispenser reads the first wiring relationship from the wiring database and executes the first table object dispenser, responsive to the first wiring relationship, to present the requested table to the caller via the table interface.